home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / misc / integra1_0a.lha / Integra / examples / 4test.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-23  |  1.5 KB  |  60 lines

  1. /*
  2.     Test per Int_eq_points_p
  3.  
  4. */
  5. #include "simple.h"
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <math.h>
  9.  
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13. int i, n;
  14. double d, x[1000], fx[1000], p[1000];
  15.  
  16. if (argc==1) {
  17.     printf("Quanti punti? ");
  18.     scanf("%d",&n);
  19. } else n=atoi(argv[1]);
  20. if (n>1000) n=1000;
  21. if (n<2) n=2;
  22.  
  23. printf("Test di Int_eq_points_p per la funzione x tra 2 e 5 (finto)\n");
  24. for (i=0; i<n; i++) {
  25.     x[i] = 2 + i*(5-2)/(double)(n-1);
  26.     fx[i] = x[i];         /*  x*x*x*(x-1); */
  27. }
  28. d = Int_eq_points_p(n, (5-2)/(double)(n-1), fx, p);
  29. printf("Esatto    : 10.5\n");
  30. printf("%-2d punti  : %.16g\n",n,d);
  31. for (i=0; i<(n>5?5:n); i++) printf("%g\t%g\n",x[i],p[i]);
  32. for (i=n-5; i<n-1; i++) printf("%g\t%g\n",x[i],p[i]);
  33.  
  34.  
  35.  
  36. printf("Test di Int_eq_points_p per la funzione x^4-x^3 tra 2 e 5\n");
  37. for (i=0; i<n; i++) {
  38.     x[i] = 2 + i*(5-2)/(double)(n-1);
  39.     fx[i] = x[i]*x[i]*x[i]*(x[i]-1);
  40. }
  41.  
  42. d = Int_eq_points_p(n, (5-2)/(double)(n-1), fx, p);
  43. printf("Esatto    : 466.35\n");
  44. printf("%-2d punti  : %.16g\n",n,d);
  45. for (i=0; i<(n>5?5:n); i++) printf("%g\t%g\n",x[i],p[i]);
  46. for (i=n-5; i<n-1; i++) printf("%g\t%g\n",x[i],p[i]);
  47.  
  48. printf("Test di Int_eq_points_p per la funzione x*sin(x)^2 tra 2 e 5 (finto)\n");
  49. for (i=0; i<n; i++) {
  50.     x[i] = 2 + i*(5-2)/(double)(n-1);
  51.     fx[i] = x[i]*sin(x[i])*sin(x[i]);
  52. }
  53. d = Int_eq_points_p(n, (5-2)/(double)(n-1), fx, p);
  54. printf("Esatto    : 5.5748036294843\n");
  55. printf("%-2d punti  : %.16g\n",n,d);
  56. for (i=0; i<(n>5?5:n); i++) printf("%g\t%g\n",x[i],p[i]);
  57. for (i=n-5; i<n-1; i++) printf("%g\t%g\n",x[i],p[i]);
  58.  
  59. }
  60.